package com.sxkf.template.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sxkf.template.vo.request.user.UserDetailVo;
import org.jeecg.common.system.vo.LoginUser;
import com.sxkf.template.entity.User;

import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 张广成
 * @since 2024-11-06 15:13:33
 */
public interface UserService extends IService<User> {
    User loginByCode(String phone, String code);

    void getPhoneCode(String phone, String type);

    Integer userRegister(User User);

    LoginUser getLoginUser(String userId) throws InvocationTargetException, IllegalAccessException;

    Boolean updateUser(User user);

    void sendCaptcha(String phoneNumber);

    void updatePass(String id, String captcha, String newPass);

    Boolean checkPhoneCode(String phoneNumber, String code);

    void updatePhone(String id, String captcha, String newPhone);

    Boolean realNameUser(UserDetailVo userDetailVo);

    Boolean byebye(String userId, HttpServletRequest request);

    void loadLocation(String userId, Double longitude, Double latitude);

    IPage<User> nearby(Integer pageNo, Integer pageSize, Double longitude, Double latitude);
}
